import numpy as np
import pandas as pd
import holoviews as hv
from holoviews import dim, opts
hv.extension('bokeh')
import math as mt
from scipy import stats
import matplotlib.pyplot as plt
from datetime import date, timedelta
import calendar
import statsmodels.api as sm
import warnings
import collections
from mpl_toolkits.basemap import Basemap
from ipywidgets import widgets
import folium
from matplotlib.patches import Polygon
from matplotlib.collections import PatchCollection
import math as mt
from matplotlib import colors
from colour import Color
from matplotlib.colors import LinearSegmentedColormap
file_obj = open('Chosen_2_week.txt','r')
regions = file_obj.read()
regions = regions.split(',')
regions = list(map(int,regions))
data_im = pd.read_csv('regions.csv',header = 0,sep = ';')
conclusions = [pd.DataFrame(),pd.DataFrame(),pd.DataFrame(),pd.DataFrame(),pd.DataFrame(),pd.DataFrame()]
for i in range(6):
strok_2 = 'conclusions_'+str(i)+'.csv'
conclusions[i] = pd.read_csv(strok_2,sep = '\t',header = 0)
for i in range(6):
conclusions[i] = pd.merge(conclusions[i],data_im,how='left',on='region')
print(i)
Timeline= list(conclusions[0][conclusions[0]['region'] == 1075].data_pick.values)
M = max(conclusions[0].passenger_count.values)
def pp(m1):
m = m1
path = []
path.append([m[1],m[3]])
path.append([m[1],m[4]])
path.append([m[2],m[4]])
path.append([m[2],m[3]])
#path.append([m[0],m[2]])
return np.array(path), m1[0]
def pp_new(m1):
m = m1[1:]
path = []
path.append((m[2],m[1]))
path.append((m[3],m[0]))
path.append((m[3],m[1]))
path.append((m[2],m[1]))
#path.append([m[0],m[2]])
return np.array(path)
for i in range(6):
conclusions[i]['Shift'] = [i+1]*len(conclusions[i])
print(i)
frames = [conclusions[0],conclusions[1],conclusions[2],conclusions[3],conclusions[4],conclusions[5]]
data = pd.concat(frames)
print(len(data))
macro_df = data
key_dimensions = [('data_trig','data_trig'),('region', 'Region'),('Shift','Shift')]
value_dimensions = [('passenger_count','passenger_count'),('Predictions_3','Predictions_3')]
macro = hv.Table(macro_df, key_dimensions, value_dimensions)
gdp_curves_real = macro.to.curve('data_trig', 'passenger_count',label='Actual')
gdp_curves_forecast = macro.to.curve('data_trig', 'Predictions_3',label='Forecast')
hv.output(max_frames=1000)
overlay = gdp_curves_real * gdp_curves_forecast
overlay.opts(
opts.Curve(selection_line_color='k'),
opts.Text(text_font_size='13px'),
opts.Overlay(height=400, show_frame=False, width=700))
overlay.relabel("Actual VS Forecast")